package com.example.myapplication.s2

// Kotlin 语言的函数引用
fun main() {
//    函数引用
//    lambda属于函数类型的对象，需要把methodResponseResult普通函数变成函数类型的对象（函数引用）
//    方式一：
//    login("Derry", "123456", ::methodResponseResult)
//    方式二：
    val obj = ::methodResponseResult
    login("Derry", "123456", obj)
}

fun methodResponseResult(msg: String, code: Int) {
    println("登录的结果是：msg: $msg, code: $code")
}

// 模拟：数据库SQLServer
const val USER_NAME_SAVE_DB4 = "Derry"
const val USER_PWD_SAVE_DB4 = "123456"

inline fun login(name: String, pwd: String, responseResult: (String, Int) -> Unit) {
    if (USER_NAME_SAVE_DB4 == name && USER_PWD_SAVE_DB4 == pwd) {
        responseResult("登录成功", 200)
    } else {
        responseResult("登录失败", 400)
    }
}